/**
 * Description:
 * Class Name:FinalReferenceTest
 * Date:2022/1/29 11:03
 *
 * @author LTisme
 * @version JAVA17
 */
package 疯狂Java讲义.第6章_面向对象_下._6_4_final修饰符;

import java.util.Arrays;

class Person{
    private int age;
    public Person(){}
    public Person(int age){
        this.age = age;
    }
    public int getAge(){
        return this.age;
    }
    public void setAge(int age){
        this.age = age;
    }
}

public class FinalReferenceTest {
    public static void main(String[] args) {
        // final修饰了一个数组引用变量
        final int[] iArr;
        iArr = new int[] {5,6,12,9};
        // 对数组进行排序，合法，不影响final
        Arrays.sort(iArr);
        System.out.println(Arrays.toString(iArr));

        // 对数组赋值，合法
        iArr[2] = -8;
        System.out.println(Arrays.toString(iArr));

        // 下面的语句非法，因为改变了final引用对象的地址
        // iArr = null;

        final var p = new Person(45);
        p.setAge(23);
        System.out.println(p.getAge());

        //p = null;
    }
}
